## Opções iniciais de configuração do ambiente --------------
knitr::opts_chunk$set(echo = TRUE)
options(scipen=999)
#### --------------------------------------------------------
library("stringr") # funções de manipulação de chars
library("dplyr") # gramática de wrangling
library("ggplot2") # apresentação gráfica
library("tibble") # data sets melhorados
library("magrittr") # semantica serializada de instruções
library("readxl") # leitor de arquivos excel
library("purrr") # programação funcional
library("knitr") # Uso de tabelas Kable para apresentação
#### --------------------------------------------------------
v_path_i <- "~/RGitRep/Tese MIDxPT/Dados originais/" ## Caminho para leitura de arquivos de input
v_path_o <- "~/RGitRep/Tese MIDxPT/Analises/" ## Caminho para geração de arquivos de output
v_path_inter <- "~/RGitRep/Tese MIDxPT/Resultados intermediarios/" ## Caminho para geração de arquivos intermediariosLeitura de planilhas e criação de datasets para programas e projetos-PPG. Filtro de projetos com início de 2013 em diante. Também nesta etapa foi realizada a criação de dataset com as categorias utilizadas na apresentação dos dados (ds_prg).
ds_prgppg <- read_excel(paste0(v_path_i, "Programas PPG 2016.xlsx"))
ds_prjppg <- read_excel(paste0(v_path_i, "Projetos PPG 2016.xlsx"))
ds_prg <- ds_prgppg %>% select(CD_PROGRAMA_IES,
NM_AREA_AVALIACAO,
CS_STATUS_JURIDICO,
DS_DEPENDENCIA_ADMINISTRATIVA,
ANO_INICIO_PROGRAMA,
NM_MODALIDADE_PROGRAMA,
CD_CONCEITO_PROGRAMA)
write.csv2(ds_prg, paste0(v_path_inter, "ds_prg.csv"))
ds_prjppg_13_16 <- ds_prjppg %>%
mutate(ANO_PRJ = str_sub(.$DH_INICIO, 1, 4)) %>%
filter(ANO_PRJ >= 2013)
write.csv2(ds_prjppg_13_16, paste0(v_path_inter, "ds_prjppg_13_16.csv"))
rm(ds_prjppg) ## Limpeza de memóriaLeitura de planilhas e criação de datasets com dados de membros de projetos entre 2013 e 2016.
f.membros <- function(file){
ds <- read_excel(file) %>%
arrange(DS_TIPO_MEMBRO) %>%
filter(DS_TIPO_MEMBRO %in% c("DISCENTE","DOCENTE")) %>%
merge(., ds_prjppg_13_16, by = "ID_PROJETO")
return(ds)
}
ds_membros_13_16 <- rbind(f.membros(paste0(v_path_i, "Membros dos projetos 2013.xlsx")),
f.membros(paste0(v_path_i, "Membros dos projetos 2014.xlsx")),
f.membros(paste0(v_path_i, "Membros dos projetos 2015.xlsx")),
f.membros(paste0(v_path_i, "Membros dos projetos 2016.xlsx")))
write.csv2(ds_membros_13_16, paste0(v_path_inter, "ds_membros_13_16.csv"))Leitura de planilhas e criação de datasets para dados de formação de professores e alunos nos programas de mestrado e doutorado. Os campos comuns foram selecionados e padronizados para os três arquivos para facilitar relacionamento com indicadores.
v_form_campos <- c("nro_id_cnpq", "seq_pessoa_fisica",
"nome_sucupira", "nome_cvlattes",
"nome_filtro_cvlattes", "sgl_instituicao",
"nme_instituicao", "cod_programa",
"nme_programa", "nme_area_avaliacao",
"seq_area_basica", "area_basica",
"grande_area_basica", "nro_nota_doutorado",
"nro_nota_mestrado", "nro_nota_mestrado_prof",
"dta_fim", "seq_tipo_categoria_vinculo",
"nivel_formacao", "ano_inicio_formacao",
"ano_fim_formacao", "formacao_concluida",
"sigla_pais_ies_formacao", "sigla_uf_ies_formacao",
"sigla_ies_formacao", "nome_ies_formacao",
"nome_curso_formacao", "cod_area_curso_formacao",
"grande_area_curso_formacao", "area_curso_formacao")
ds_frmdic <- read_excel(paste0(v_path_i, "Formação dos discentes 2013-2016 - Tese.xlsx")) %>%
mutate(nro_id_cnpq = str_pad(as.character(nro_id_cnpq),
width = 16,
side = "left",
pad = "0"),
seq_pessoa_fisica = as.character(seq_pessoa_fisica)) %>%
select(v_form_campos) %>%
mutate(doc_ou_disc = "DISCENTE")
write.csv2(ds_frmdic, paste0(v_path_inter, "ds_frmdic.csv"))
ds_frmdic_mestrado <- read_excel(paste0(v_path_i, "Dicentes mestrado tratada -tese.xlsx")) %>%
mutate(nro_id_cnpq = str_pad(as.character(nro_id_cnpq),
width = 16,
side = "left",
pad = "0"),
seq_pessoa_fisica = as.character(seq_pessoa_fisica)) %>%
select(v_form_campos) %>%
mutate(doc_ou_disc = "DISCENTE")
write.csv2(ds_frmdic_mestrado, paste0(v_path_inter, "ds_frmdic_mestrado.csv"))
ds_frmdoc <- read_excel(paste0(v_path_i, "Formação dos docentes tese.xlsx")) %>%
select(v_form_campos) %>%
mutate(doc_ou_disc = "DOCENTE")
write.csv2(ds_frmdoc, paste0(v_path_inter, "ds_frmdoc.csv"))Preparação, transformações e calculo de variáveis e indicadores que compõe o IMI - Indice de Multi/Inter disciplinaridade.
Variáveis:
QPPP: Quantidade de professores permanentes do programa
QFDPD: Quantidade das formações dos docentes permanentes no grau de doutorado
QFDPM: Quantidade das formações dos docentes permanentes no grau de mestrado
QFDPG: Quantidade das formações dos docentes permanentes no grau de graduação
Indicadores:
DFDDo: Diversidade de formação do docente pelo grau de doutorado
DFDM: Diversidade de formação do docente pelo grau de mestrado
DFDG: Diversidade de formação do docente pelo grau de graduação
OBS - Os agrupamentos e sumarizações abaixo são realizados em dois estágios progressivos para garantir contagens adequadas no calculo das variáveis.
ds_IMI1_QPPP <- ds_frmdoc %>%
group_by(cod_programa, nome_filtro_cvlattes) %>%
summarise(QT = n()) %>%
group_by(cod_programa) %>%
summarise(QPPP = n())
write.csv2(ds_IMI1_QPPP, paste0(v_path_inter, "ds_IMI1_QPPP.csv"))
ds_IMI1_QFDPD <- ds_frmdoc %>%
filter(nivel_formacao == "Doutorado") %>%
group_by(cod_programa, nome_curso_formacao) %>%
summarise(QT = n()) %>%
group_by(cod_programa) %>%
summarise(QFDPD = n())
write.csv2(ds_IMI1_QFDPD, paste0(v_path_inter, "ds_IMI1_QFDPD.csv"))
ds_IMI1_QFDPM <- ds_frmdoc %>%
filter(nivel_formacao == "Mestrado") %>%
group_by(cod_programa, nome_curso_formacao) %>%
summarise(QT = n()) %>%
group_by(cod_programa) %>%
summarise(QFDPM = n())
write.csv2(ds_IMI1_QFDPM, paste0(v_path_inter, "ds_IMI1_QFDPM.csv"))
ds_IMI1_QFDPG <- ds_frmdoc %>%
filter(nivel_formacao == "Graduação") %>%
group_by(cod_programa, nome_curso_formacao) %>%
summarise(QT = n()) %>%
group_by(cod_programa) %>%
summarise(QFDPG = n())
write.csv2(ds_IMI1_QFDPG, paste0(v_path_inter, "ds_IMI1_QFDPG.csv"))
ds_IMI1_FCDo <- merge(ds_IMI1_QFDPD, ds_IMI1_QFDPM, by = "cod_programa", all.x = T) %>%
merge(., ds_IMI1_QFDPG, by = "cod_programa", all.x = T) %>%
merge(., ds_IMI1_QPPP, by = "cod_programa", all.x = T) %>%
mutate(DFDDo = QFDPD/QPPP,
DFDM = QFDPM/QPPP,
DFDG = QFDPG/QPPP) %>% ## Fórmulas dos indicadores
mutate(DFDDo = ifelse(DFDDo <= 1, DFDDo, 1),
DFDM = ifelse(DFDM <= 1, DFDM, 1),
DFDG = ifelse(DFDG <= 1, DFDG, 1)) %>% ## Limpeza de ocorrências acima de 1.0
mutate(FCDo = (DFDDo + DFDM + DFDG)/3) %>% ## Fórmula do constructo
merge(ds_prg, ., by.x = "CD_PROGRAMA_IES", by.y = "cod_programa", all.y = T) ## Categorias
write.csv2(ds_IMI1_FCDo, paste0(v_path_o, "FCDo.csv"))
kable(ds_IMI1_FCDo[1:12, c(1,8:15)]) ## Amostra do arquivo gerado acima, sem as categorias| CD_PROGRAMA_IES | QFDPD | QFDPM | QFDPG | QPPP | DFDDo | DFDM | DFDG | FCDo |
|---|---|---|---|---|---|---|---|---|
| 10001018002P1 | 10 | 7 | 7 | 15 | 0.6666667 | 0.4666667 | 0.4666667 | 0.5333333 |
| 10001018004P4 | 13 | 13 | 11 | 15 | 0.8666667 | 0.8666667 | 0.7333333 | 0.8222222 |
| 10001018005P0 | 5 | 6 | 4 | 15 | 0.3333333 | 0.4000000 | 0.2666667 | 0.3333333 |
| 10001018006P7 | 7 | 5 | 6 | 9 | 0.7777778 | 0.5555556 | 0.6666667 | 0.6666667 |
| 10001018009P6 | 4 | 4 | 5 | 10 | 0.4000000 | 0.4000000 | 0.5000000 | 0.4333333 |
| 10001018010P4 | 10 | 5 | 6 | 15 | 0.6666667 | 0.3333333 | 0.4000000 | 0.4666667 |
| 10001018011P0 | 5 | 6 | 10 | 11 | 0.4545455 | 0.5454545 | 0.9090909 | 0.6363636 |
| 10001018012P7 | 10 | 8 | 7 | 14 | 0.7142857 | 0.5714286 | 0.5000000 | 0.5952381 |
| 10001018016P2 | 5 | 10 | 10 | 17 | 0.2941176 | 0.5882353 | 0.5882353 | 0.4901961 |
| 10001018017P9 | 10 | 12 | 10 | 15 | 0.6666667 | 0.8000000 | 0.6666667 | 0.7111111 |
| 10001018039P2 | 10 | 11 | 11 | 14 | 0.7142857 | 0.7857143 | 0.7857143 | 0.7619048 |
| 10001018040P0 | 9 | 11 | 10 | 12 | 0.7500000 | 0.9166667 | 0.8333333 | 0.8333333 |
Variáveis:
QFGDi: Quantidade das formações dos discentes no grau de graduação
QDP: Quantidade de discentes do programa
Indicadores:
DFGDi: Diversidade de formação do discente pelo grau de graduação
ds_frmdic_ttl <- rbind(ds_frmdic, ds_frmdic_mestrado) %>%
filter(nivel_formacao == "Graduação") %>%
group_by(cod_programa,
nome_filtro_cvlattes,
doc_ou_disc,
nome_curso_formacao) %>%
summarise(QT = n()) ## Junção de formações de discentes e filtro de graduação
write.csv2(ds_frmdic_ttl, paste0(v_path_inter, "ds_frmdic_ttl.csv"))
ds_IMI2_QDP <- ds_frmdic_ttl %>%
group_by(cod_programa, nome_filtro_cvlattes) %>%
summarise(QT = n()) %>%
group_by(cod_programa) %>%
summarise(QDP = n())
write.csv2(ds_IMI2_QDP, paste0(v_path_inter, "ds_IMI2_QDP.csv"))
ds_IMI2_QFGDi <- ds_frmdic_ttl %>%
group_by(cod_programa, nome_curso_formacao) %>%
summarise(QT = n()) %>%
group_by(cod_programa) %>%
summarise(QFGDi = n())
write.csv2(ds_IMI2_QFGDi, paste0(v_path_inter, "ds_IMI2_QFGDi.csv"))
ds_IMI2_FCDi <- merge(ds_IMI2_QFGDi, ds_IMI2_QDP, by = "cod_programa", all.x = T) %>%
mutate(DFGDi = QFGDi/QDP) %>% ## Fórmula do indicador
mutate(DFGDi = ifelse(DFGDi <= 1, DFGDi, 1)) %>% ## Limpeza de ocorrências acima de 1.0
mutate(FCDi = DFGDi) %>% ## Fórmula do constructo
merge(ds_prg, ., by.x = "CD_PROGRAMA_IES", by.y = "cod_programa", all.y = T) ## Categorias
write.csv2(ds_IMI2_FCDi, paste0(v_path_o, "FCDi.csv"))
kable(ds_IMI2_FCDi[1:12, c(1,8:11)]) ## Amostra do arquivo gerado acima, sem as categorias| CD_PROGRAMA_IES | QFGDi | QDP | DFGDi | FCDi |
|---|---|---|---|---|
| 10001018002P1 | 8 | 29 | 0.2758621 | 0.2758621 |
| 10001018004P4 | 25 | 41 | 0.6097561 | 0.6097561 |
| 10001018005P0 | 23 | 42 | 0.5476190 | 0.5476190 |
| 10001018006P7 | 22 | 48 | 0.4583333 | 0.4583333 |
| 10001018009P6 | 21 | 52 | 0.4038462 | 0.4038462 |
| 10001018010P4 | 31 | 73 | 0.4246575 | 0.4246575 |
| 10001018011P0 | 25 | 63 | 0.3968254 | 0.3968254 |
| 10001018012P7 | 31 | 46 | 0.6739130 | 0.6739130 |
| 10001018016P2 | 26 | 54 | 0.4814815 | 0.4814815 |
| 10001018017P9 | 37 | 55 | 0.6727273 | 0.6727273 |
| 10001018039P2 | 24 | 42 | 0.5714286 | 0.5714286 |
| 10001018040P0 | 12 | 12 | 1.0000000 | 1.0000000 |
Variáveis:
QIP: Quantidade de instituições participantes nos projetos
QPP: Quantidade de projetos no programa
ds_fin <- rbind(read_excel(paste0(v_path_i, "Financiadores de proejtos 2013.xlsx")),
read_excel(paste0(v_path_i, "Financiadores de projetos 2014.xlsx")),
read_excel(paste0(v_path_i, "Financiadores de projetos 2015.xlsx")),
read_excel(paste0(v_path_i, "Financiadores de proejtos 2016.xlsx"))) ## Carga de Instituições
ds_IMI3_QIP <- ds_fin %>%
group_by(CD_PROGRAMA_IES, NM_FINANCIADOR) %>%
summarise(QT = n()) %>%
group_by(CD_PROGRAMA_IES) %>%
summarise(QIP = n())
write.csv2(ds_IMI3_QIP, paste0(v_path_inter, "ds_IMI3_QIP.csv"))
ds_IMI3_QPP <- ds_fin %>%
group_by(CD_PROGRAMA_IES, ID_PROJETO) %>%
summarise(QT = n()) %>%
group_by(CD_PROGRAMA_IES) %>%
summarise(QPP = n())
write.csv2(ds_IMI3_QPP, paste0(v_path_inter, "ds_IMI3_QPP.csv"))Variáveis:
DFPP: Diversidade formações dos participantes dos projetos (graduação).
QMP: Quantidade de membros dos projetos
Indicadores:
DFCP: Diversidade de formações que colaboram por meio de projetos
OBS - As variáveis e indicadores abaixo são consolidadas no nível de projeto e depois sumarizadas por média em programas para possibilitar cruzamento com demais constructos.
ds_formacao_grd <- rbind(ds_frmdic, ds_frmdoc, ds_frmdic_mestrado) %>%
filter(nivel_formacao == "Graduação") %>%
group_by(cod_programa,
nome_filtro_cvlattes,
doc_ou_disc,
nome_curso_formacao) %>%
summarise(QT = n()) ## Junção de formações de todos os membros e filtro de graduação
write.csv2(ds_formacao_grd, paste0(v_path_inter, "ds_formacao_grd.csv"))
ds_MbrPrj_grd <- merge(ds_membros_13_16, ds_formacao_grd,
by.x = c("CD_PROGRAMA_IES", "NM_MEMBRO_PROJETO", "DS_TIPO_MEMBRO"),
by.y = c("cod_programa", "nome_filtro_cvlattes", "doc_ou_disc")) #@ Junção de
## membros e formações
write.csv2(ds_MbrPrj_grd, paste0(v_path_inter, "ds_MbrPrj_grd.csv"))
ds_IMI3_DFPP <- ds_MbrPrj_grd %>%
group_by(CD_PROGRAMA_IES, ID_PROJETO, nome_curso_formacao) %>%
summarise(QT = n()) %>%
group_by(CD_PROGRAMA_IES, ID_PROJETO) %>%
summarise(DFPP = n())
write.csv2(ds_IMI3_DFPP, paste0(v_path_inter, "ds_IMI3_DFPP.csv"))
ds_IMI3_QMP <- ds_MbrPrj_grd %>%
group_by(CD_PROGRAMA_IES, ID_PROJETO, NM_MEMBRO_PROJETO) %>%
summarise(QT = n()) %>%
group_by(CD_PROGRAMA_IES, ID_PROJETO) %>%
summarise(QMP = n())
write.csv2(ds_IMI3_QMP, paste0(v_path_inter, "ds_IMI3_QMP.csv"))
#### Geração de arquivo de colaboração no nível de projetos para conferência de dados -----------
ds_DFCP <- merge(ds_IMI3_DFPP, ds_IMI3_QMP , by = c("CD_PROGRAMA_IES", "ID_PROJETO")) %>%
mutate(DFCP = DFPP/QMP) %>%
mutate(DFCP = ifelse(DFCP <= 1, DFCP, 1))
write.csv2(ds_DFCP, paste0(v_path_o, "DFCP.csv"))
#### --------------------------------------------------------------------------------------------
kable(ds_DFCP[1:12, ]) ## Amostra do arquivo gerado acima| CD_PROGRAMA_IES | ID_PROJETO | DFPP | QMP | DFCP |
|---|---|---|---|---|
| 10001018002P1 | 254229 | 3 | 5 | 0.6000000 |
| 10001018002P1 | 281461 | 1 | 2 | 0.5000000 |
| 10001018002P1 | 281506 | 6 | 11 | 0.5454545 |
| 10001018002P1 | 281550 | 1 | 1 | 1.0000000 |
| 10001018002P1 | 281556 | 2 | 3 | 0.6666667 |
| 10001018002P1 | 281569 | 1 | 1 | 1.0000000 |
| 10001018002P1 | 281575 | 1 | 1 | 1.0000000 |
| 10001018002P1 | 281577 | 1 | 2 | 0.5000000 |
| 10001018002P1 | 281593 | 1 | 1 | 1.0000000 |
| 10001018002P1 | 287006 | 3 | 2 | 1.0000000 |
| 10001018002P1 | 300058 | 2 | 2 | 1.0000000 |
| 10001018002P1 | 332254 | 2 | 4 | 0.5000000 |
ds_IMI3_DFCP <- merge(ds_IMI3_DFPP, ds_IMI3_QMP, by = c("CD_PROGRAMA_IES", "ID_PROJETO")) %>%
mutate(DFCP = DFPP/QMP) %>% ## Fórmula do indicador
mutate(DFCP = ifelse(DFCP <= 1, DFCP, 1)) %>% ## Limpeza de ocorrências acima de 1.0
group_by(CD_PROGRAMA_IES) %>%
summarise(DFPP = mean(DFPP),
QMP = mean(QMP),
DFCP = mean(DFCP)) ## Consolidação de variáveis e indicador
write.csv2(ds_IMI3_DFCP, paste0(v_path_inter, "ds_IMI3_DFCP.csv"))Indicadores:
DIPP: Diversidade de instituições que que colaboram por meio dos projetos
ds_IMI3_CC <- merge(ds_IMI3_QIP, ds_IMI3_QPP, by = "CD_PROGRAMA_IES", all.x = T) %>%
merge(., ds_IMI3_DFCP, by = "CD_PROGRAMA_IES", all.x = T) %>% ## Junção com indicador de
## diversidade de formações
## de colaboradores
mutate(DIPP = QIP/QPP) %>% ## Fórmula do indicador
mutate(DIPP = ifelse(DIPP <= 1, DIPP, 1)) %>% ## Limpeza de ocorrências acima de 1.0
mutate(CC = (DFCP + DIPP)/2) ## Fórmula do constructo
ds_IMI3_CC <- ds_IMI3_CC[,c(1:3, 7, 4:6, 8)] ## Reordenação de campos
ds_IMI3_CC %<>% merge(ds_prg, ., by = "CD_PROGRAMA_IES", all.y = T) ## Categorias
write.csv2(ds_IMI3_CC, paste0(v_path_o, "CC.csv"))
kable(ds_IMI3_CC[1:12, c(1,8:14)]) ## Amostra do arquivo gerado acima, sem as categorias| CD_PROGRAMA_IES | QIP | QPP | DIPP | DFPP | QMP | DFCP | CC |
|---|---|---|---|---|---|---|---|
| 10001018002P1 | 4 | 33 | 0.1212121 | 1.758621 | 2.586207 | 0.7789894 | 0.4501008 |
| 10001018004P4 | 4 | 34 | 0.1176471 | 1.777778 | 1.555556 | 0.8333333 | 0.4754902 |
| 10001018005P0 | 1 | 8 | 0.1250000 | 1.071429 | 1.142857 | 0.9642857 | 0.5446429 |
| 10001018006P7 | 2 | 3 | 0.6666667 | 1.777778 | 1.333333 | 0.9444444 | 0.8055556 |
| 10001018008P0 | 2 | 9 | 0.2222222 | NA | NA | NA | NA |
| 10001018009P6 | 4 | 21 | 0.1904762 | 1.538461 | 1.769231 | 0.9166667 | 0.5535714 |
| 10001018010P4 | 1 | 5 | 0.2000000 | 2.333333 | 1.666667 | 1.0000000 | 0.6000000 |
| 10001018011P0 | 5 | 18 | 0.2777778 | 2.500000 | 1.166667 | 1.0000000 | 0.6388889 |
| 10001018012P7 | 2 | 7 | 0.2857143 | 2.000000 | 1.500000 | 1.0000000 | 0.6428571 |
| 10001018013P3 | 1 | 1 | 1.0000000 | NA | NA | NA | NA |
| 10001018016P2 | 6 | 24 | 0.2500000 | 1.500000 | 1.277778 | 0.9814815 | 0.6157407 |
| 10001018017P9 | 7 | 52 | 0.1346154 | 1.485714 | 1.514286 | 0.9857143 | 0.5601648 |
Variáveis:
QCDI: Quantidade de combinações distintas informadas
QGAD: Quantidade de grande áreas de conhecimento que o docente atua
QACD: Quantidade de áreas do conhecimento que o docente atua
Indicadores:
DGAC: Diversidade de grande áreas do conhecimento que o docente atua
DAC: Diversidade de áreas do conhecimento que o docente atua
ds_aratdo <- read_excel(paste0(v_path_i, 'Areas_de_atuacao_docentes_25_06_2019.xlsx'))
ds_IMI4_QCDI <- ds_aratdo %>%
mutate(espec_doc = paste0(grande_area, nome_area, sub_area, especialidade)) %>%
group_by(cod_programa, nome_filtro_cvlattes, espec_doc) %>%
summarise(QT = n()) %>%
group_by(cod_programa, nome_filtro_cvlattes) %>%
summarise(QCDI = n())
write.csv2(ds_IMI4_QCDI, paste0(v_path_inter, "ds_IMI4_QCDI.csv"))
ds_IMI4_QGAD <- ds_aratdo %>%
group_by(cod_programa, nome_filtro_cvlattes, grande_area) %>%
summarise(QT = n()) %>%
group_by(cod_programa, nome_filtro_cvlattes) %>%
summarise(QGAD = n())
write.csv2(ds_IMI4_QGAD, paste0(v_path_inter, "ds_IMI4_QGAD.csv"))
ds_IMI4_QACD <- ds_aratdo %>%
group_by(cod_programa, nome_filtro_cvlattes, nome_area) %>%
summarise(QT = n()) %>%
group_by(cod_programa, nome_filtro_cvlattes) %>%
summarise(QACD = n())
write.csv2(ds_IMI4_QACD, paste0(v_path_inter, "ds_IMI4_QACD.csv"))
ds_IMI4_CP <- merge(ds_IMI4_QGAD, ds_IMI4_QACD, by = c("cod_programa","nome_filtro_cvlattes"), all.x = T) %>%
merge(., ds_IMI4_QCDI, by = c("cod_programa","nome_filtro_cvlattes"), all.x = T) %>%
mutate(DGAC = QGAD/QCDI,
DAC = QACD/QCDI) %>% ## Fórmulas dos indicadores
mutate(DGAC = ifelse(DGAC <= 1, DGAC, 1),
DAC = ifelse(DAC <= 1, DAC, 1)) %>% ## Limpeza de ocorrências acima de 1.0
mutate(CP = (DGAC + DAC)/2) ## Fórmula do constructo
write.csv2(ds_IMI4_CP, paste0(v_path_o, "CP_docente.csv"))
kable(ds_IMI4_CP[1:12, ]) ## Amostra do arquivo gerado acima| cod_programa | nome_filtro_cvlattes | QGAD | QACD | QCDI | DGAC | DAC | CP |
|---|---|---|---|---|---|---|---|
| 10001018002P1 | ALEXANDRE DE ALMEIDA E SILVA | 1 | 3 | 3 | 0.3333333 | 1.0000000 | 0.6666667 |
| 10001018002P1 | ANDREIMAR MARTINS SOARES | 1 | 2 | 3 | 0.3333333 | 0.6666667 | 0.5000000 |
| 10001018002P1 | CARLA FREIRE CELEDONIO FERNANDES | 2 | 3 | 3 | 0.6666667 | 1.0000000 | 0.8333333 |
| 10001018002P1 | CAROLINA BIONI GARCIA TELES | 1 | 2 | 2 | 0.5000000 | 1.0000000 | 0.7500000 |
| 10001018002P1 | CHRISTIAN COLLINS KUEHN | 2 | 3 | 3 | 0.6666667 | 1.0000000 | 0.8333333 |
| 10001018002P1 | DEUSILENE SOUZA VIEIRA DALLACQUA | 2 | 3 | 6 | 0.3333333 | 0.5000000 | 0.4166667 |
| 10001018002P1 | DHELIO BATISTA PEREIRA | 2 | 3 | 3 | 0.6666667 | 1.0000000 | 0.8333333 |
| 10001018002P1 | FERNANDO BERTON ZANCHI | 2 | 6 | 6 | 0.3333333 | 1.0000000 | 0.6666667 |
| 10001018002P1 | GABRIEL EDUARDO MELIM FERREIRA | 1 | 1 | 2 | 0.5000000 | 0.5000000 | 0.5000000 |
| 10001018002P1 | GENIMAR REBOUCAS JULIAO | 1 | 1 | 4 | 0.2500000 | 0.2500000 | 0.2500000 |
| 10001018002P1 | JANSEN FERNANDES DE MEDEIROS | 2 | 3 | 4 | 0.5000000 | 0.7500000 | 0.6250000 |
| 10001018002P1 | JUAN MIGUEL VILLALOBOS-SALCEDO | 1 | 1 | 1 | 1.0000000 | 1.0000000 | 1.0000000 |
ds_IMI4_CP_pgr <- ds_IMI4_CP %>%
group_by(cod_programa) %>%
summarise(CP = mean(CP)) %>% ## Consolidação por programa
merge(ds_prg, ., by.x = "CD_PROGRAMA_IES", by.y = "cod_programa", all.y = T) ## Categorias
write.csv2(ds_IMI4_CP_pgr, paste0(v_path_o, "CP_programa.csv"))
kable(ds_IMI4_CP_pgr[1:12, c(1,8)]) ## Amostra do arquivo gerado acima, sem as categorias| CD_PROGRAMA_IES | CP |
|---|---|
| 10001018002P1 | 0.6157407 |
| 10001018004P4 | 0.5246528 |
| 10001018005P0 | 0.5009804 |
| 10001018006P7 | 0.4352564 |
| 10001018009P6 | 0.4255556 |
| 10001018010P4 | 0.4404762 |
| 10001018011P0 | 0.3204545 |
| 10001018012P7 | 0.4531250 |
| 10001018016P2 | 0.4513158 |
| 10001018017P9 | 0.4368590 |
| 10001018039P2 | 0.3890625 |
| 10001018040P0 | 0.4888889 |
Junção de todos os constructos, limpeza de casos imcompletos e geração de output.
ds_IMI <- merge(ds_IMI1_FCDo[,c("CD_PROGRAMA_IES", "FCDo")],
ds_IMI2_FCDi[,c("CD_PROGRAMA_IES", "FCDi" )],
by = "CD_PROGRAMA_IES", all = T) %>%
merge(., ds_IMI3_CC[,c("CD_PROGRAMA_IES","CC")],
by = "CD_PROGRAMA_IES", all = T) %>%
merge(., ds_IMI4_CP_pgr[,c("CD_PROGRAMA_IES","CP")],
by = "CD_PROGRAMA_IES", all = T)
ds_IMI <- ds_IMI[complete.cases(ds_IMI),] ## Casos completos
ds_IMI %<>% mutate(IMI = (FCDo + FCDi + CC + CP)/4) %>%
merge(ds_prg, ., by = "CD_PROGRAMA_IES", all.y = T) ## Categorias
write.csv2(ds_IMI, paste0(v_path_o, "IMI.csv"))
kable(ds_IMI[1:12, c(1,8:12)]) ## Amostra do arquivo gerado acima, sem as categorias| CD_PROGRAMA_IES | FCDo | FCDi | CC | CP | IMI |
|---|---|---|---|---|---|
| 10001018002P1 | 0.5333333 | 0.2758621 | 0.4501008 | 0.6157407 | 0.4687592 |
| 10001018004P4 | 0.8222222 | 0.6097561 | 0.4754902 | 0.5246528 | 0.6080303 |
| 10001018005P0 | 0.3333333 | 0.5476190 | 0.5446429 | 0.5009804 | 0.4816439 |
| 10001018006P7 | 0.6666667 | 0.4583333 | 0.8055556 | 0.4352564 | 0.5914530 |
| 10001018009P6 | 0.4333333 | 0.4038462 | 0.5535714 | 0.4255556 | 0.4540766 |
| 10001018010P4 | 0.4666667 | 0.4246575 | 0.6000000 | 0.4404762 | 0.4829501 |
| 10001018011P0 | 0.6363636 | 0.3968254 | 0.6388889 | 0.3204545 | 0.4981331 |
| 10001018012P7 | 0.5952381 | 0.6739130 | 0.6428571 | 0.4531250 | 0.5912833 |
| 10001018016P2 | 0.4901961 | 0.4814815 | 0.6157407 | 0.4513158 | 0.5096835 |
| 10001018017P9 | 0.7111111 | 0.6727273 | 0.5601648 | 0.4368590 | 0.5952155 |
| 11001011004P7 | 0.4117647 | 0.2058824 | 0.3863636 | 0.4513889 | 0.3638499 |
| 11001011006P0 | 0.7333333 | 0.8500000 | 0.5833333 | 0.4309524 | 0.6494048 |
Preparação, transformações e calculo de variáveis e indicadores que compõe o IPT - Indice de Produção Tecnologica.
Variáveis:
SPPP: Soma de patentes produzidos por programa
SPPPr: Soma de produtos produzidos por programa
SAPP: Soma de aplicativos produzidos por programa
QPPP: Quantidade de professores permanentes do programa
Indicadores:
QPPa: Quantitativo de produção de patentes por Programa
QPPr: Quantitativo de produção de produtos por Programa
QPA: Quantitativo de produção de aplicativos por Programa
#### Carga de Aplicativos, patentes e PRodutos a partir de planilhas ----------------------------
ds_PT_appprg <- read_excel(paste0(v_path_i, "Aplicativos_tese.xlsx"))
ds_PT_patprg <- read_excel(paste0(v_path_i, "Patentes com Programas.xlsx"))
ds_PT_prdprg <- read_excel(paste0(v_path_i, "Produtos_tese.xlsx"))
#### --------------------------------------------------------------------------------------------
ds_PT_patprg <- ds_PT_patprg[complete.cases(ds_PT_patprg[,"NM_PRODUCAO"]),] ## Filtro de produção valida
ds_IPT1_SPPP<- ds_PT_patprg %>%
group_by(CD_PROGRAMA_IES) %>%
summarise(SPPP = n())
write.csv2(ds_IPT1_SPPP, paste0(v_path_inter, "ds_IPT1_SPPP.csv"))
#### --------------------------------------------------------------------------------------------
ds_PT_prdprg <- ds_PT_prdprg[complete.cases(ds_PT_prdprg[,"DSFINALIDADE_TRATADA"]),] ## Filtro de produção valida
ds_IPT2_SPPPr <- ds_PT_prdprg %>%
group_by(CD_PROGRAMA_IES) %>%
summarise(SPPPr = n())
write.csv2(ds_IPT2_SPPPr, paste0(v_path_inter, "ds_IPT2_SPPPr.csv"))
#### --------------------------------------------------------------------------------------------
ds_PT_appprg <- ds_PT_appprg[complete.cases(ds_PT_appprg[,"DS_FINALIDADE"]),] ## Filtro de produção valida
ds_IPT3_SAPP <- ds_PT_appprg %>%
group_by(CD_PROGRAMA_IES) %>%
summarise(SAPP = n())
write.csv2(ds_IPT3_SAPP, paste0(v_path_inter, "ds_IPT3_SAPP.csv"))
#### --------------------------------------------------------------------------------------------
ds_IPT <- merge(ds_IMI1_QPPP, ds_IPT1_SPPP, by.x = "cod_programa", by.y = "CD_PROGRAMA_IES", all.x = T) %>%
select(CD_PROGRAMA_IES = cod_programa, QPPP, SPPP) %>%
merge(., ds_IPT2_SPPPr, by = "CD_PROGRAMA_IES", all.x = T) %>%
merge(., ds_IPT3_SAPP, by = "CD_PROGRAMA_IES", all.x = T)
ds_IPT[is.na(ds_IPT)] <- 0 ### Conversão de NA para 0
ds_IPT %<>% mutate(QPPa = SPPP/QPPP,
QPPr = SPPPr/QPPP,
QPA = SAPP/QPPP) %>% ## Fórmulas dos indicadores
mutate(QPPa = ifelse(QPPa <= 1, QPPa, 1),
QPPr = ifelse(QPPr <= 1, QPPr, 1),
QPA = ifelse(QPA <= 1, QPA, 1)) %>% ## Limpeza de ocorrências acima de 1.0
mutate(IPT = (QPPa+QPPr+QPA)/3) %>% ## Fórmula do indice
merge(ds_prg, ., by = "CD_PROGRAMA_IES", all.y = T) ## Categorias
write.csv2(ds_IPT, paste0(v_path_o, "IPT.csv"))
kable(ds_IPT[1:12, c(1,8:15)]) ## Amostra do arquivo gerado acima, sem as categorias| CD_PROGRAMA_IES | QPPP | SPPP | SPPPr | SAPP | QPPa | QPPr | QPA | IPT |
|---|---|---|---|---|---|---|---|---|
| 10001018002P1 | 15 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
| 10001018004P4 | 15 | 1 | 1 | 0 | 0.0666667 | 0.0666667 | 0.0000000 | 0.0444444 |
| 10001018005P0 | 15 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
| 10001018006P7 | 9 | 0 | 3 | 0 | 0.0000000 | 0.3333333 | 0.0000000 | 0.1111111 |
| 10001018009P6 | 10 | 0 | 2 | 0 | 0.0000000 | 0.2000000 | 0.0000000 | 0.0666667 |
| 10001018010P4 | 15 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
| 10001018011P0 | 11 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
| 10001018012P7 | 14 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
| 10001018016P2 | 17 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
| 10001018017P9 | 15 | 4 | 3 | 1 | 0.2666667 | 0.2000000 | 0.0666667 | 0.1777778 |
| 10001018039P2 | 14 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
| 10001018040P0 | 12 | 0 | 0 | 0 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 |
União de indices por programa, filtro de cassos completos, categorização e calculo de correlação geral.
ds_COR <- merge(ds_IMI[,c(1,12)], ds_IPT[,c(1,15)], by = "CD_PROGRAMA_IES", all = T) ## União de indices
ds_COR <- ds_COR[complete.cases(ds_COR),] ## Filtro de casos completos
ds_COR %<>% filter(IPT > 0)%>% ## Filtro de projetos com produção tecnologica
merge(ds_prg, ., by = "CD_PROGRAMA_IES", all.y = T) ## Categorias
write.csv2(ds_COR, paste0(v_path_o, "COR.csv"))
kable(ds_COR[1:12, c(1,8:9)]) ## Amostra do arquivo gerado acima, sem as categorias| CD_PROGRAMA_IES | IMI | IPT |
|---|---|---|
| 10001018004P4 | 0.6080303 | 0.0444444 |
| 10001018006P7 | 0.5914530 | 0.1111111 |
| 10001018009P6 | 0.4540766 | 0.0666667 |
| 10001018017P9 | 0.5952155 | 0.1777778 |
| 12001015001P0 | 0.4129527 | 0.0196078 |
| 12001015002P7 | 0.3300950 | 0.1309524 |
| 12001015003P3 | 0.4392376 | 0.0222222 |
| 12001015012P2 | 0.3888012 | 0.2820513 |
| 12001015013P9 | 0.4551124 | 0.1728395 |
| 12001015016P8 | 0.5455184 | 0.3958333 |
| 12001015021P1 | 0.4103666 | 0.3333333 |
| 12001015033P0 | 0.5683275 | 0.1666667 |
ds_COR_p <- ds_COR %>%
select(IMI, IPT) %>%
cor(., method = "pearson") ## Correlação geral
write.csv2(ds_COR_p, paste0(v_path_o, "COR_p.csv"))
as_tibble(ds_COR_p) ## Tabela de correlação Geral## # A tibble: 2 x 2
## IMI IPT
## <dbl> <dbl>
## 1 1 0.0722
## 2 0.0722 1
Segmentação de tabela base de indice por cada categoria: Ano, Conceito, Dependencia, Area, Status e Modalidade. Geração de todos os outputs.
##### ---------------------------------------------------------------------------------------
f.corr <- function(df, mtd = "pearson"){
df %<>% select(IMI,IPT) %>%
cor(., method = mtd)
return(df)
} ## Função para aplicação de correlação em cada sessão do split por categoria
f.print_corr <- function(df){
dfo <- tibble(cat = as.character(), cor = as.double())
for (i in seq_along(df)) {
dfo[i,] <- c(names(df[i]), df[[i]][1,2])
}
return(dfo)
} ## Função para criação de dataset com correlação por item de categoria
##### ---------------------------------------------------------------------------------------
ano_f <- factor(ds_COR$ANO_INICIO_PROGRAMA) ## Fator para split de categoria
ds_COR_ano <- ds_COR %>% select(ANO_INICIO_PROGRAMA,IMI,IPT) %>%
split(ano_f, drop = T) %>% ## Separação por ano
map(f.corr) ## Calculo de correlação para cada segmento
ds_COR_ano <- f.print_corr(ds_COR_ano)
ds_COR_ano <- ds_COR %>% group_by(ANO_INICIO_PROGRAMA) %>%
summarise(m_IMI = mean(IMI), #|
m_IPT = mean(IPT), #| Média
v_IMI = var(IMI), #|
v_IPT = var(IPT), #| Variancia
d_IMI = sd(IMI), #|
d_IPT = sd(IPT), #| Devio padrão
pc_IMI = (d_IMI/m_IMI)*100, #|
pc_IPT = (d_IPT/m_IPT)*100) %>% #| Percentual do desvio padrão sobre valor esperado
merge(., ds_COR_ano, by.x = "ANO_INICIO_PROGRAMA", by.y = "cat", all = T) %>%
mutate(ANO_INICIO_PROGRAMA = as.character(ANO_INICIO_PROGRAMA))
write.csv2(ds_COR_ano, paste0(v_path_o, "COR_ano.csv"))
kable(ds_COR_ano)| ANO_INICIO_PROGRAMA | m_IMI | m_IPT | v_IMI | v_IPT | d_IMI | d_IPT | pc_IMI | pc_IPT | cor |
|---|---|---|---|---|---|---|---|---|---|
| 1931 | 0.3199041 | 0.0049751 | NA | NA | NaN | NaN | NaN | NaN | NA |
| 1960 | 0.2906369 | 0.0266667 | NA | NA | NaN | NaN | NaN | NaN | NA |
| 1961 | 0.3302469 | 0.0384615 | NA | NA | NaN | NaN | NaN | NaN | NA |
| 1962 | 0.2909908 | 0.2878788 | NA | NA | NaN | NaN | NaN | NaN | NA |
| 1963 | 0.4163990 | 0.1971326 | 0.0046930 | 0.0264128 | 0.0685052 | 0.1625202 | 16.451807 | 82.44207 | -0.211056756390287 |
| 1964 | 0.4172452 | 0.0586019 | 0.0001782 | 0.0035418 | 0.0133479 | 0.0595132 | 3.199062 | 101.55501 | 0.0107109954054532 |
| 1965 | 0.3682738 | 0.0764677 | 0.0017684 | 0.0054150 | 0.0420518 | 0.0735867 | 11.418618 | 96.23250 | 0.516644502148275 |
| 1966 | 0.3511877 | 0.0241467 | 0.0006480 | 0.0000244 | 0.0254565 | 0.0049421 | 7.248696 | 20.46715 | 0.837758845033655 |
| 1967 | 0.4577233 | 0.2057010 | 0.0150957 | 0.0217783 | 0.1228645 | 0.1475746 | 26.842535 | 71.74227 | -0.160595563677575 |
| 1968 | 0.3697586 | 0.1096230 | 0.0033192 | 0.0055448 | 0.0576128 | 0.0744632 | 15.581195 | 67.92663 | 0.55187804927373 |
| 1969 | 0.3912020 | 0.1690015 | 0.0043641 | 0.0294847 | 0.0660616 | 0.1717111 | 16.886815 | 101.60330 | -0.244979252214952 |
| 1970 | 0.3966898 | 0.1069527 | 0.0048957 | 0.0120450 | 0.0699692 | 0.1097497 | 17.638258 | 102.61524 | 0.150101517034608 |
| 1971 | 0.4164417 | 0.1082850 | 0.0079172 | 0.0095726 | 0.0889785 | 0.0978397 | 21.366386 | 90.35381 | 0.360031788761016 |
| 1972 | 0.3997754 | 0.0925735 | 0.0042420 | 0.0109893 | 0.0651306 | 0.1048297 | 16.291791 | 113.23939 | -0.0941754859756869 |
| 1973 | 0.3993934 | 0.0812362 | 0.0076199 | 0.0077160 | 0.0872920 | 0.0878408 | 21.856158 | 108.13011 | 0.190472251730307 |
| 1974 | 0.4019896 | 0.1534544 | 0.0078756 | 0.0262808 | 0.0887447 | 0.1621137 | 22.076358 | 105.64285 | -0.156280933644135 |
| 1975 | 0.3915970 | 0.0822684 | 0.0054201 | 0.0053557 | 0.0736213 | 0.0731830 | 18.800260 | 88.95637 | 0.16185105681267 |
| 1976 | 0.4040361 | 0.1175591 | 0.0042580 | 0.0121852 | 0.0652530 | 0.1103866 | 16.150287 | 93.89888 | 0.0217789964907372 |
| 1977 | 0.4105370 | 0.1095310 | 0.0047774 | 0.0083737 | 0.0691189 | 0.0915081 | 16.836224 | 83.54545 | -0.116612196184783 |
| 1978 | 0.4176841 | 0.0810693 | 0.0059098 | 0.0041960 | 0.0768754 | 0.0647766 | 18.405144 | 79.90280 | 0.306320410424122 |
| 1979 | 0.3991863 | 0.1001684 | 0.0067631 | 0.0133462 | 0.0822382 | 0.1155259 | 20.601463 | 115.33165 | 0.0604457767075826 |
| 1980 | 0.4020389 | 0.1335035 | 0.0039551 | 0.0102361 | 0.0628895 | 0.1011736 | 15.642634 | 75.78350 | -0.167284027497856 |
| 1981 | 0.5959572 | 0.1111111 | NA | NA | NaN | NaN | NaN | NaN | NA |
| 1982 | 0.3498466 | 0.1278283 | 0.0011612 | 0.0194613 | 0.0340764 | 0.1395037 | 9.740369 | 109.13369 | -0.635734615447176 |
| 1983 | 0.3897973 | 0.1483854 | 0.0028219 | 0.0114996 | 0.0531218 | 0.1072361 | 13.628056 | 72.26862 | 0.0681079207343123 |
| 1984 | 0.3882745 | 0.0312650 | 0.0003475 | 0.0002526 | 0.0186424 | 0.0158949 | 4.801346 | 50.83911 | -0.296487333607882 |
| 1985 | 0.4095626 | 0.2069584 | 0.0096325 | 0.0481834 | 0.0981455 | 0.2195072 | 23.963482 | 106.06346 | 0.214319248507437 |
| 1986 | 0.4237254 | 0.1066700 | 0.0024700 | 0.0182435 | 0.0496994 | 0.1350684 | 11.729150 | 126.62270 | 0.000470006911876546 |
| 1987 | 0.4207205 | 0.0908942 | 0.0101689 | 0.0033908 | 0.1008410 | 0.0582307 | 23.968650 | 64.06426 | -0.559777602725453 |
| 1988 | 0.4138844 | 0.1014550 | 0.0060114 | 0.0100083 | 0.0775331 | 0.1000415 | 18.733021 | 98.60676 | -0.0341300947694937 |
| 1989 | 0.4339032 | 0.0875287 | 0.0095124 | 0.0145496 | 0.0975315 | 0.1206216 | 22.477721 | 137.80807 | -0.0160215104376414 |
| 1990 | 0.4195725 | 0.1482496 | 0.0049798 | 0.0153786 | 0.0705678 | 0.1240106 | 16.818989 | 83.64991 | -0.192240147366653 |
| 1991 | 0.4214718 | 0.0976937 | 0.0081870 | 0.0136132 | 0.0904819 | 0.1166755 | 21.468084 | 119.42993 | -0.0450799130407067 |
| 1992 | 0.3788006 | 0.1223788 | 0.0038055 | 0.0129013 | 0.0616888 | 0.1135837 | 16.285296 | 92.81323 | 0.528061736197766 |
| 1993 | 0.4228029 | 0.1574379 | 0.0068755 | 0.0227300 | 0.0829186 | 0.1507649 | 19.611648 | 95.76150 | 0.35775784375009 |
| 1994 | 0.4684478 | 0.1384574 | 0.0060725 | 0.0239570 | 0.0779260 | 0.1547806 | 16.634941 | 111.78929 | 0.20817832571604 |
| 1995 | 0.4582682 | 0.0832267 | 0.0074832 | 0.0084643 | 0.0865056 | 0.0920015 | 18.876635 | 110.54331 | 0.138479663697691 |
| 1996 | 0.4603457 | 0.1381277 | 0.0108062 | 0.0084249 | 0.1039527 | 0.0917871 | 22.581448 | 66.45089 | 0.0650837932161284 |
| 1997 | 0.4760507 | 0.0872020 | 0.0158502 | 0.0104889 | 0.1258977 | 0.1024155 | 26.446288 | 117.44631 | 0.580634834978501 |
| 1998 | 0.4668427 | 0.1183362 | 0.0147647 | 0.0081596 | 0.1215099 | 0.0903302 | 26.028028 | 76.33359 | 0.0691732215867302 |
| 1999 | 0.4625916 | 0.1178167 | 0.0107614 | 0.0115877 | 0.1037370 | 0.1076460 | 22.425185 | 91.36733 | 0.0878726149515815 |
| 2000 | 0.4671498 | 0.1669005 | 0.0105290 | 0.0279344 | 0.1026111 | 0.1671357 | 21.965351 | 100.14097 | 0.0594903848322321 |
| 2001 | 0.4609075 | 0.1555823 | 0.0104829 | 0.0149061 | 0.1023860 | 0.1220904 | 22.214005 | 78.47318 | 0.170261009577771 |
| 2002 | 0.4444627 | 0.1379440 | 0.0073552 | 0.0280519 | 0.0857626 | 0.1674872 | 19.295802 | 121.41674 | -0.10503910868756 |
| 2003 | 0.4615807 | 0.1347290 | 0.0063418 | 0.0268624 | 0.0796353 | 0.1638977 | 17.252742 | 121.64989 | 0.449001261565735 |
| 2004 | 0.5037734 | 0.1449308 | 0.0070131 | 0.0204386 | 0.0837443 | 0.1429638 | 16.623397 | 98.64278 | 0.295407183281438 |
| 2005 | 0.4934865 | 0.1556443 | 0.0086171 | 0.0255807 | 0.0928283 | 0.1599397 | 18.810717 | 102.75980 | 0.206432000913082 |
| 2006 | 0.4974503 | 0.1211054 | 0.0078519 | 0.0137127 | 0.0886107 | 0.1171013 | 17.812983 | 96.69371 | 0.177037383022961 |
| 2007 | 0.5025299 | 0.1053120 | 0.0098622 | 0.0147499 | 0.0993086 | 0.1214492 | 19.761727 | 115.32320 | -0.0615833669234312 |
| 2008 | 0.5139694 | 0.1465401 | 0.0104371 | 0.0258066 | 0.1021620 | 0.1606444 | 19.877060 | 109.62488 | 0.16843545251058 |
| 2009 | 0.5369348 | 0.1132136 | 0.0074513 | 0.0151491 | 0.0863209 | 0.1230817 | 16.076599 | 108.71634 | 0.21611850570576 |
| 2010 | 0.5338275 | 0.1190232 | 0.0062887 | 0.0158677 | 0.0793013 | 0.1259669 | 14.855223 | 105.83385 | 0.102111491055709 |
| 2011 | 0.5452791 | 0.1299495 | 0.0063332 | 0.0172746 | 0.0795813 | 0.1314330 | 14.594598 | 101.14162 | 0.0928527375039843 |
| 2012 | 0.5750843 | 0.1094623 | 0.0106583 | 0.0171299 | 0.1032390 | 0.1308813 | 17.951975 | 119.56741 | 0.126674876615247 |
| 2013 | 0.5694903 | 0.1159390 | 0.0063064 | 0.0166895 | 0.0794128 | 0.1291878 | 13.944541 | 111.42740 | 0.205790390195062 |
| 2014 | 0.5722092 | 0.0916099 | 0.0089726 | 0.0122379 | 0.0947237 | 0.1106251 | 16.554035 | 120.75665 | -0.100863618492401 |
| 2015 | 0.5924140 | 0.0639427 | 0.0044043 | 0.0046768 | 0.0663648 | 0.0683872 | 11.202428 | 106.95073 | -0.0722292144345987 |
| 2016 | 0.6324674 | 0.0788889 | 0.0066772 | 0.0075475 | 0.0817143 | 0.0868765 | 12.919915 | 110.12516 | 0.11930405715843 |
##### ---------------------------------------------------------------------------------------
conceito_f <- factor(ds_COR$CD_CONCEITO_PROGRAMA) ## Fator para split de categoria
ds_COR_conceito <- ds_COR %>% select(CD_CONCEITO_PROGRAMA,IMI,IPT) %>%
split(conceito_f, drop = T) %>% ## Separação por conceito
map(f.corr) ## Calculo de correlação para cada segmento
ds_COR_conceito <- f.print_corr(ds_COR_conceito)
ds_COR_conceito <- ds_COR %>% group_by(CD_CONCEITO_PROGRAMA) %>%
summarise(m_IMI = mean(IMI), #|
m_IPT = mean(IPT), #| Média
v_IMI = var(IMI), #|
v_IPT = var(IPT), #| Variancia
d_IMI = sd(IMI), #|
d_IPT = sd(IPT), #| Devio padrão
pc_IMI = (d_IMI/m_IMI)*100, #|
pc_IPT = (d_IPT/m_IPT)*100) %>% #| Percentual do desvio padrão sobre valor esperado
merge(., ds_COR_conceito, by.x = "CD_CONCEITO_PROGRAMA", by.y = "cat", all = T) %>%
mutate(ANO_INICIO_PROGRAMA = as.character(CD_CONCEITO_PROGRAMA))
write.csv2(ds_COR_conceito, paste0(v_path_o, "COR_conceito.csv"))
kable(ds_COR_conceito)| CD_CONCEITO_PROGRAMA | m_IMI | m_IPT | v_IMI | v_IPT | d_IMI | d_IPT | pc_IMI | pc_IPT | cor | ANO_INICIO_PROGRAMA |
|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 0.5619679 | 0.1155957 | 0.0075605 | 0.0153775 | 0.0869513 | 0.1240059 | 15.47265 | 107.27549 | 0.0259963770277024 | 3 |
| 4 | 0.4804370 | 0.1190808 | 0.0093340 | 0.0174262 | 0.0966128 | 0.1320084 | 20.10936 | 110.85618 | 0.135211646425709 | 4 |
| 5 | 0.4294399 | 0.1235006 | 0.0083336 | 0.0156689 | 0.0912887 | 0.1251753 | 21.25762 | 101.35600 | 0.195114272457837 | 5 |
| 6 | 0.4026400 | 0.1235548 | 0.0054255 | 0.0167811 | 0.0736582 | 0.1295419 | 18.29381 | 104.84569 | 0.221718627584643 | 6 |
| 7 | 0.3818187 | 0.1288982 | 0.0037251 | 0.0141734 | 0.0610338 | 0.1190523 | 15.98502 | 92.36145 | -0.165483632913976 | 7 |
##### ---------------------------------------------------------------------------------------
dependencia_f <- factor(ds_COR$DS_DEPENDENCIA_ADMINISTRATIVA) ## Fator para split de categoria
ds_COR_dependencia <- ds_COR %>% select(DS_DEPENDENCIA_ADMINISTRATIVA,IMI,IPT) %>%
split(dependencia_f, drop = T) %>% ## Separação por dependencia
map(f.corr) ## Calculo de correlação para cada segmento
ds_COR_dependencia <- f.print_corr(ds_COR_dependencia)
ds_COR_dependencia <- ds_COR %>% group_by(DS_DEPENDENCIA_ADMINISTRATIVA) %>%
summarise(m_IMI = mean(IMI), #|
m_IPT = mean(IPT), #| Média
v_IMI = var(IMI), #|
v_IPT = var(IPT), #| Variancia
d_IMI = sd(IMI), #|
d_IPT = sd(IPT), #| Devio padrão
pc_IMI = (d_IMI/m_IMI)*100, #|
pc_IPT = (d_IPT/m_IPT)*100) %>% #| Percentual do desvio padrão sobre valor esperado
merge(., ds_COR_dependencia, by.x = "DS_DEPENDENCIA_ADMINISTRATIVA", by.y = "cat", all = T)
write.csv2(ds_COR_dependencia, paste0(v_path_o, "COR_dependencia.csv"))
kable(ds_COR_dependencia)| DS_DEPENDENCIA_ADMINISTRATIVA | m_IMI | m_IPT | v_IMI | v_IPT | d_IMI | d_IPT | pc_IMI | pc_IPT | cor |
|---|---|---|---|---|---|---|---|---|---|
| PRIVADA | 0.5433938 | 0.1464247 | 0.0102797 | 0.0223185 | 0.1013891 | 0.1493938 | 18.65849 | 102.0277 | 0.169599512042538 |
| PÚBLICA | 0.4801529 | 0.1132633 | 0.0111164 | 0.0146612 | 0.1054345 | 0.1210832 | 21.95852 | 106.9042 | 0.0202726364036229 |
##### ---------------------------------------------------------------------------------------
area_f <- factor(ds_COR$NM_AREA_AVALIACAO) ## Fator para split de categoria
ds_COR_area <- ds_COR %>% select(NM_AREA_AVALIACAO,IMI,IPT) %>%
split(area_f, drop = T) %>% ## Separação por area
map(f.corr) ## Calculo de correlação para cada segmento
ds_siglas <- read_excel(paste0(v_path_i, "Siglas áreas de avaliação.xlsx")) %>%
select(nome = "Nome área de avaliação",
sigla = "Sigla")
ds_COR_area <- f.print_corr(ds_COR_area)
ds_COR_area <- ds_COR %>% group_by(NM_AREA_AVALIACAO) %>%
summarise(m_IMI = mean(IMI), #|
m_IPT = mean(IPT), #| Média
v_IMI = var(IMI), #|
v_IPT = var(IPT), #| Variancia
d_IMI = sd(IMI), #|
d_IPT = sd(IPT), #| Devio padrão
pc_IMI = (d_IMI/m_IMI)*100, #|
pc_IPT = (d_IPT/m_IPT)*100) %>% #| Percentual do desvio padrão sobre valor esperado
merge(., ds_COR_area, by.x = "NM_AREA_AVALIACAO", by.y = "cat", all = T) %>%
merge(., ds_siglas, by.x = "NM_AREA_AVALIACAO", by.y = "nome")
ds_COR_area <- ds_COR_area[,c(11,1:10)]
write.csv2(ds_COR_area, paste0(v_path_o, "COR_area.csv"))
kable(ds_COR_area)| sigla | NM_AREA_AVALIACAO | m_IMI | m_IPT | v_IMI | v_IPT | d_IMI | d_IPT | pc_IMI | pc_IPT | cor |
|---|---|---|---|---|---|---|---|---|---|---|
| ADM | ADMINISTRAÇÃO PÚBLICA E DE EMPRESAS, CIÊNCIAS CONTÁBEIS E TURISMO | 0.5410076 | 0.0924475 | 0.0064561 | 0.0103482 | 0.0803496 | 0.1017263 | 14.851836 | 110.03683 | -0.0200228210225216 |
| ANTR | ANTROPOLOGIA / ARQUEOLOGIA | 0.4887984 | 0.0476140 | 0.0053112 | 0.0009134 | 0.0728777 | 0.0302230 | 14.909561 | 63.47502 | 0.759928883802947 |
| ARQU | ARQUITETURA, URBANISMO E DESIGN | 0.5299630 | 0.1258532 | 0.0111134 | 0.0129761 | 0.1054203 | 0.1139128 | 19.892008 | 90.51246 | 0.248472158463462 |
| ARTE | ARTES / MÚSICA | 0.5262586 | 0.0462148 | 0.0052485 | 0.0015407 | 0.0724464 | 0.0392518 | 13.766309 | 84.93329 | -0.165120795124369 |
| AFIS | ASTRONOMIA / FÍSICA | 0.3668481 | 0.0635704 | 0.0080012 | 0.0051092 | 0.0894494 | 0.0714787 | 24.383222 | 112.44019 | 0.068264775481826 |
| BIOD | BIODIVERSIDADE | 0.4506369 | 0.0620680 | 0.0065419 | 0.0103846 | 0.0808821 | 0.1019048 | 17.948405 | 164.18247 | 0.28838931570757 |
| BIOT | BIOTECNOLOGIA | 0.5714797 | 0.2814396 | 0.0090255 | 0.0270017 | 0.0950027 | 0.1643220 | 16.623994 | 58.38623 | -0.0762669207152088 |
| CCOMP | CIÊNCIA DA COMPUTAÇÃO | 0.4759979 | 0.1499872 | 0.0076116 | 0.0166568 | 0.0872448 | 0.1290610 | 18.328811 | 86.04802 | 0.187746912476199 |
| CALIM | CIÊNCIA DE ALIMENTOS | 0.4977163 | 0.2061252 | 0.0096222 | 0.0252638 | 0.0980930 | 0.1589458 | 19.708624 | 77.11133 | -0.216185609316485 |
| CPOL | CIÊNCIA POLÍTICA E RELAÇÕES INTERNACIONAIS | 0.5512496 | 0.0901039 | 0.0108301 | 0.0216008 | 0.1040678 | 0.1469723 | 18.878529 | 163.11419 | 0.587567293353527 |
| CAGRI | CIÊNCIAS AGRÁRIAS I | 0.4647469 | 0.1073298 | 0.0098505 | 0.0087495 | 0.0992497 | 0.0935389 | 21.355653 | 87.15095 | 0.0197917947282038 |
| CAMB | CIÊNCIAS AMBIENTAIS | 0.6014918 | 0.0910209 | 0.0028681 | 0.0112528 | 0.0535544 | 0.1060794 | 8.903596 | 116.54400 | 0.0502562625594782 |
| CBI | CIÊNCIAS BIOLÓGICAS I | 0.4896436 | 0.1632356 | 0.0073294 | 0.0153402 | 0.0856122 | 0.1238557 | 17.484586 | 75.87540 | -0.0117964306000998 |
| CBII | CIÊNCIAS BIOLÓGICAS II | 0.4752956 | 0.1229496 | 0.0073790 | 0.0120877 | 0.0859013 | 0.1099441 | 18.073247 | 89.42213 | 0.203380326765292 |
| CBIII | CIÊNCIAS BIOLÓGICAS III | 0.4856714 | 0.1767714 | 0.0092256 | 0.0242645 | 0.0960500 | 0.1557708 | 19.776741 | 88.11990 | -0.0924903894812177 |
| 31 | COMUNICAÇÃO E INFORMAÇÃO | 0.5461556 | 0.0996872 | 0.0040308 | 0.0199373 | 0.0634888 | 0.1411995 | 11.624671 | 141.64254 | 0.264136198760492 |
| DIRE | DIREITO | 0.3652496 | 0.0335812 | 0.0088163 | 0.0010085 | 0.0938954 | 0.0317573 | 25.707190 | 94.56875 | 0.153146103100228 |
| ECON | ECONOMIA | 0.5359823 | 0.1609447 | 0.0078652 | 0.0682052 | 0.0886862 | 0.2611613 | 16.546486 | 162.26769 | -0.122109248135775 |
| EDUC | EDUCAÇÃO | 0.4610251 | 0.0399398 | 0.0053512 | 0.0054805 | 0.0731522 | 0.0740305 | 15.867289 | 185.35512 | 0.0830390374858974 |
| EFIS | EDUCAÇÃO FÍSICA | 0.4321399 | 0.0440684 | 0.0055477 | 0.0021028 | 0.0744832 | 0.0458564 | 17.235891 | 104.05729 | 0.321297853781631 |
| ENFEE | ENFERMAGEM | 0.3994794 | 0.0876239 | 0.0071093 | 0.0100635 | 0.0843168 | 0.1003169 | 21.106683 | 114.48578 | 0.0463706357746217 |
| ENGI | ENGENHARIAS I | 0.5020208 | 0.0926936 | 0.0124235 | 0.0080648 | 0.1114610 | 0.0898040 | 22.202459 | 96.88271 | -0.136650920736011 |
| ENGII | ENGENHARIAS II | 0.4869642 | 0.2021341 | 0.0117786 | 0.0187962 | 0.1085294 | 0.1370993 | 22.286930 | 67.82594 | -0.0860329791822802 |
| ENGIII | ENGENHARIAS III | 0.5253799 | 0.2069013 | 0.0098844 | 0.0240118 | 0.0994202 | 0.1549575 | 18.923477 | 74.89441 | 0.107479172878729 |
| ENGIV | ENGENHARIAS IV | 0.4699787 | 0.1836865 | 0.0100580 | 0.0198829 | 0.1002896 | 0.1410068 | 21.339172 | 76.76489 | -0.0301042285490799 |
| ENSI | ENSINO | 0.5548009 | 0.0603080 | 0.0063395 | 0.0041889 | 0.0796208 | 0.0647218 | 14.351245 | 107.31875 | 0.189416741278837 |
| FARM | FARMÁCIA | 0.5109088 | 0.1938335 | 0.0074038 | 0.0208792 | 0.0860454 | 0.1444965 | 16.841637 | 74.54672 | -0.341717474750512 |
| FILO | FILOSOFIA | 0.4257836 | 0.0350063 | 0.0035159 | 0.0004089 | 0.0592953 | 0.0202218 | 13.926163 | 57.76626 | -0.169249495428888 |
| GEOC | GEOCIÊNCIAS | 0.4496356 | 0.0528464 | 0.0120080 | 0.0025576 | 0.1095810 | 0.0505729 | 24.371071 | 95.69798 | 0.39398290559801 |
| GEOG | GEOGRAFIA | 0.4418058 | 0.0429549 | 0.0064007 | 0.0037465 | 0.0800042 | 0.0612085 | 18.108452 | 142.49479 | 0.414264756854289 |
| HIST | HISTÓRIA | 0.3946847 | 0.0205001 | 0.0113217 | 0.0000531 | 0.1064033 | 0.0072879 | 26.959061 | 35.55079 | 0.784391618357756 |
| INTE | INTERDISCIPLINAR | 0.6001800 | 0.1141717 | 0.0058261 | 0.0162282 | 0.0763291 | 0.1273901 | 12.717704 | 111.57762 | -0.0213502372879694 |
| LETR | LETRAS / LINGUÍSTICA | 0.4427305 | 0.0514590 | 0.0083383 | 0.0047353 | 0.0913142 | 0.0688137 | 20.625241 | 133.72528 | 0.419073156102748 |
| MAFE | MATEMÁTICA / PROBABILIDADE E ESTATÍSTICA | 0.4201053 | 0.0252470 | 0.0068007 | 0.0002170 | 0.0824663 | 0.0147297 | 19.629909 | 58.34240 | 0.438786239695738 |
| MATE | MATERIAIS | 0.5680197 | 0.1851534 | 0.0109802 | 0.0238589 | 0.1047866 | 0.1544634 | 18.447702 | 83.42453 | -0.0984859719251756 |
| MEDI | MEDICINA I | 0.4488275 | 0.0813187 | 0.0036785 | 0.0101793 | 0.0606507 | 0.1008928 | 13.513145 | 124.07075 | -0.152917197597049 |
| MEDII | MEDICINA II | 0.4827842 | 0.0973995 | 0.0035815 | 0.0151251 | 0.0598458 | 0.1229841 | 12.395978 | 126.26767 | 0.0623188361957801 |
| MEDIII | MEDICINA III | 0.4332203 | 0.1137276 | 0.0054097 | 0.0237300 | 0.0735508 | 0.1540455 | 16.977680 | 135.45121 | 0.406005623641408 |
| MVET | MEDICINA VETERINÁRIA | 0.4242958 | 0.1114591 | 0.0083571 | 0.0107213 | 0.0914172 | 0.1035438 | 21.545624 | 92.89848 | -0.244776935142716 |
| NUTR | NUTRIÇÃO | 0.4958656 | 0.1091130 | 0.0033228 | 0.0162820 | 0.0576436 | 0.1276010 | 11.624840 | 116.94396 | 0.13794540556887 |
| ODON | ODONTOLOGIA | 0.3915859 | 0.1282772 | 0.0099576 | 0.0212462 | 0.0997879 | 0.1457607 | 25.483014 | 113.62945 | 0.0912986037186332 |
| PLUR | PLANEJAMENTO URBANO E REGIONAL / DEMOGRAFIA | 0.6075848 | 0.0368340 | 0.0071856 | 0.0004305 | 0.0847682 | 0.0207483 | 13.951668 | 56.32925 | 0.375205905327194 |
| PSICO | PSICOLOGIA | 0.3888913 | 0.0702849 | 0.0043695 | 0.0055870 | 0.0661020 | 0.0747459 | 16.997562 | 106.34700 | 0.414567466830112 |
| QUIM | QUÍMICA | 0.3927756 | 0.1471324 | 0.0095698 | 0.0083349 | 0.0978253 | 0.0912959 | 24.906152 | 62.05019 | -0.256697121945937 |
| SCOL | SAÚDE COLETIVA | 0.5282082 | 0.0420447 | 0.0060336 | 0.0013832 | 0.0776761 | 0.0371917 | 14.705588 | 88.45750 | -0.324457786934078 |
| SSOC | SERVIÇO SOCIAL | 0.4386467 | 0.0388889 | 0.0308828 | 0.0000617 | 0.1757349 | 0.0078567 | 40.062971 | 20.20305 | -1 |
| SOCI | SOCIOLOGIA | 0.4904263 | 0.0242284 | 0.0098823 | 0.0000635 | 0.0994099 | 0.0079696 | 20.270107 | 32.89363 | 0.471623579484581 |
| ZOOT | ZOOTECNIA / RECURSOS PESQUEIROS | 0.4323599 | 0.0595141 | 0.0057225 | 0.0059502 | 0.0756470 | 0.0771376 | 17.496293 | 129.61227 | -0.0504782134440357 |
##### ---------------------------------------------------------------------------------------
status_f <- factor(ds_COR$CS_STATUS_JURIDICO) ## Fator para split de categoria
ds_COR_status <- ds_COR %>% select(CS_STATUS_JURIDICO,IMI,IPT) %>%
split(status_f, drop = T) %>% ## Separação por status
map(f.corr) ## Calculo de correlação para cada segmento
ds_COR_status <- f.print_corr(ds_COR_status)
ds_COR_status <- ds_COR %>% group_by(CS_STATUS_JURIDICO) %>%
summarise(m_IMI = mean(IMI), #|
m_IPT = mean(IPT), #| Média
v_IMI = var(IMI), #|
v_IPT = var(IPT), #| Variancia
d_IMI = sd(IMI), #|
d_IPT = sd(IPT), #| Devio padrão
pc_IMI = (d_IMI/m_IMI)*100, #|
pc_IPT = (d_IPT/m_IPT)*100) %>% #| Percentual do desvio padrão sobre valor esperado
merge(., ds_COR_status, by.x = "CS_STATUS_JURIDICO", by.y = "cat", all = T)
write.csv2(ds_COR_status, paste0(v_path_o, "COR_status.csv"))
kable(ds_COR_status)| CS_STATUS_JURIDICO | m_IMI | m_IPT | v_IMI | v_IPT | d_IMI | d_IPT | pc_IMI | pc_IPT | cor |
|---|---|---|---|---|---|---|---|---|---|
| ESTADUAL | 0.4779129 | 0.1030163 | 0.0106330 | 0.0128399 | 0.1031163 | 0.1133131 | 21.57637 | 109.99527 | 0.0732825476968398 |
| FEDERAL | 0.4803221 | 0.1166046 | 0.0111758 | 0.0152716 | 0.1057159 | 0.1235784 | 22.00937 | 105.98069 | -0.00315558367677363 |
| MUNICIPAL | 0.5453704 | 0.1179246 | 0.0222427 | 0.0114425 | 0.1491398 | 0.1069696 | 27.34652 | 90.71011 | 0.777653385052747 |
| PARTICULAR | 0.5433938 | 0.1464247 | 0.0102797 | 0.0223185 | 0.1013891 | 0.1493938 | 18.65849 | 102.02770 | 0.169599512042538 |
##### ---------------------------------------------------------------------------------------
modalidade_f <- factor(ds_COR$NM_MODALIDADE_PROGRAMA) ## Fator para split de categoria
ds_COR_modalidade <- ds_COR %>% select(NM_MODALIDADE_PROGRAMA,IMI,IPT) %>%
split(modalidade_f, drop = T) %>% ## Separação por modalidade
map(f.corr) ## Calculo de correlação para cada segmento
ds_COR_modalidade <- f.print_corr(ds_COR_modalidade)
ds_COR_modalidade <- ds_COR %>% group_by(NM_MODALIDADE_PROGRAMA) %>%
summarise(m_IMI = mean(IMI), #|
m_IPT = mean(IPT), #| Média
v_IMI = var(IMI), #|
v_IPT = var(IPT), #| Variancia
d_IMI = sd(IMI), #|
d_IPT = sd(IPT), #| Devio padrão
pc_IMI = (d_IMI/m_IMI)*100, #|
pc_IPT = (d_IPT/m_IPT)*100) %>% #| Percentual do desvio padrão sobre valor esperado
merge(., ds_COR_modalidade, by.x = "NM_MODALIDADE_PROGRAMA", by.y = "cat", all = T)
write.csv2(ds_COR_modalidade, paste0(v_path_o, "COR_modalidade.csv"))
kable(ds_COR_modalidade)| NM_MODALIDADE_PROGRAMA | m_IMI | m_IPT | v_IMI | v_IPT | d_IMI | d_IPT | pc_IMI | pc_IPT | cor |
|---|---|---|---|---|---|---|---|---|---|
| ACADÊMICO | 0.4790649 | 0.1151397 | 0.0109793 | 0.0148806 | 0.1047821 | 0.1219862 | 21.87222 | 105.9463 | 0.0428114638244629 |
| PROFISSIONAL | 0.5715083 | 0.1455812 | 0.0078461 | 0.0238955 | 0.0885782 | 0.1545817 | 15.49902 | 106.1825 | 0.0994298489171458 |
f.mplot <- function(ds, label) {
#### Base -------------------------------------------
GGCor <- ggplot(data = ds, aes(x = ds[,1])) +
geom_col(aes(y = (as.double(cor)*100)),
width = 0.9,
alpha=0.4,
#stat = "sum",
col = "black",
size = 0.5
) +
scale_y_continuous(breaks = seq(-100, 100, by = 10)) +
geom_hline(yintercept = 0, col = 'black', alpha = 0.7) +
geom_hline(yintercept = 30, col = 'orange', alpha = 0.7, size = 1.5) +
geom_hline(yintercept = 60, col = 'green', alpha = 0.7, size = 1.5) +
geom_point(aes(y = (as.double(cor)*100)),
size=1.8, shape=21, fill="black") +
geom_text(aes(y = (as.double(cor)*100) + ifelse(as.double(cor) > 0, 6, -6),
label = format(as.double(cor), digits = 4)),
size = 4) +
theme_light() +
theme(axis.text.x = element_text(angle = 45,
vjust = 1,
size = 9,
hjust = 1)) +
labs(title = 'Correlação por Categoria', x = paste0('Categoria (_', label, '_)'), y = 'Corr * 100') +
geom_bar(aes(y = as.double(m_IMI)*100),
position = position_nudge(x = -0.225),
width = 0.35, alpha=0.25,
fill = "blue",
stat = "sum",
size = 1) +
geom_bar(aes(y = as.double(m_IPT)*100),
position = position_nudge(x = 0.225),
width = 0.35, alpha=0.25,
fill = "red",
stat = "sum",
size = 1)
return(GGCor)
}
cat("Gráfico de exemplo para referÊncia")## Gráfico de exemplo para referÊncia
g_legenda <- f.mplot(ds_COR_dependencia, "Dependencia") +
geom_label(aes(x = 2.55, y = 62, label = 'Correlação alta'),
col = 'green', hjust = 'right', alpha = 0.5, size=4) +
geom_label(aes(x = 2.55, y = 32, label = 'Correlação média'),
col = 'orange', hjust = 'right', alpha = 0.5, size=4) +
geom_label(aes(x = 0.6, y = 56, label = 'Média de IMI'),
col = 'blue', hjust = 'left', alpha = 0.5, size=4) +
geom_label(aes(x = 2.05, y = 13, label = 'Média de IPT'),
col = 'red', hjust = 'left', alpha = 0.5, size=4) +
geom_label(aes(x = 1, y = 19.9, label = 'Correlação'),
col = 'black', hjust = 'left', alpha = 0.5, size=4)
print(g_legenda)## Gráficos por categoria
f.histo <- function(ds){
#### Histograma por categoria pelo GGPlot2 -------------
GGHis <- ggplot(ds,aes(ds[,2])) +
stat_bin(aes(y =..density..,
fill = ..count..),
col = "black",
binwidth = 0.05,
alpha = 0.8) +
geom_density(fill = "red",
color = "orange",
alpha = 0.11) +
scale_x_continuous(breaks = seq(0, 1, by = 0.05)) +
#scale_y_continuous(labels = NULL) +
labs(title = paste0('Histograma de ', v_idx, " - ", v_categ, " - ", ds[1,1]) , x = v_idx, y = 'Contagem') +
scale_fill_distiller(name = 'Observações',
palette = v_pal,
direction = 1);GGHis
}
v_categ <- "Área de Avaliação"
v_idx <- "IPT"
v_pal <- 'YlGnBu'
ds_COR %<>% merge(., ds_siglas, by.x = "NM_AREA_AVALIACAO", by.y = "nome")
ds_cat_P <- ds_COR %>% select(sigla, IPT) %>%
split(as.factor(.$sigla)) %>%
map(f.histo);
v_idx <- "IMI"
v_pal <- 'YlGn'
ds_cat_D <- ds_COR %>% select(sigla, IMI) %>%
split(as.factor(.$sigla)) %>%
map(f.histo);
for(i in seq_along(ds_cat_P)){
print(ds_cat_P[[i]])
print(ds_cat_D[[i]])
}v_categ <- "Conceito do Programa"
v_idx <- "IPT"
v_pal <- 'YlGnBu'
ds_cat_P <- ds_COR %>% select(CD_CONCEITO_PROGRAMA, IPT) %>%
split(as.factor(.$CD_CONCEITO_PROGRAMA)) %>%
map(f.histo);
v_idx <- "IMI"
v_pal <- 'YlGn'
ds_cat_D <- ds_COR %>% select(CD_CONCEITO_PROGRAMA, IMI) %>%
split(as.factor(.$CD_CONCEITO_PROGRAMA)) %>%
map(f.histo);
for(i in seq_along(ds_cat_P)){
print(ds_cat_P[[i]])
print(ds_cat_D[[i]])
}#####------------------------------------------------------------------------------------------
v_categ <- "Status Jurídico"
v_idx <- "IPT"
v_pal <- 'YlGnBu'
ds_cat_P <- ds_COR %>% select(CS_STATUS_JURIDICO, IPT) %>%
split(as.factor(.$CS_STATUS_JURIDICO)) %>%
map(f.histo);
v_idx <- "IMI"
v_pal <- 'YlGn'
ds_cat_D <- ds_COR %>% select(CS_STATUS_JURIDICO, IMI) %>%
split(as.factor(.$CS_STATUS_JURIDICO)) %>%
map(f.histo);
for(i in seq_along(ds_cat_P)){
print(ds_cat_P[[i]])
print(ds_cat_D[[i]])
}#####------------------------------------------------------------------------------------------
v_categ <- "Dependência Administrativa"
v_idx <- "IPT"
v_pal <- 'YlGnBu'
ds_cat_P <- ds_COR %>% select(DS_DEPENDENCIA_ADMINISTRATIVA, IPT) %>%
split(as.factor(.$DS_DEPENDENCIA_ADMINISTRATIVA)) %>%
map(f.histo);
v_idx <- "IMI"
v_pal <- 'YlGn'
ds_cat_D <- ds_COR %>% select(DS_DEPENDENCIA_ADMINISTRATIVA, IMI) %>%
split(as.factor(.$DS_DEPENDENCIA_ADMINISTRATIVA)) %>%
map(f.histo);
for(i in seq_along(ds_cat_P)){
print(ds_cat_P[[i]])
print(ds_cat_D[[i]])
}#####------------------------------------------------------------------------------------------
v_categ <- "Modalidade do Programa"
v_idx <- "IPT"
v_pal <- 'YlGnBu'
ds_cat_P <- ds_COR %>% select(NM_MODALIDADE_PROGRAMA, IPT) %>%
split(as.factor(.$NM_MODALIDADE_PROGRAMA)) %>%
map(f.histo);
v_idx <- "IMI"
v_pal <- 'YlGn'
ds_cat_D <- ds_COR %>% select(NM_MODALIDADE_PROGRAMA, IMI) %>%
split(as.factor(.$NM_MODALIDADE_PROGRAMA)) %>%
map(f.histo);
for(i in seq_along(ds_cat_P)){
print(ds_cat_P[[i]])
print(ds_cat_D[[i]])
}